Jog dial user interface device

ABSTRACT

A multiple input rotary dial user interface device and system is provided. The rotary dial user interface device may include a rotationally fixed touchpad, disposed within a center of a rotatable dial. Although fixed rotationally, the touchpad of the rotary dial user interface device may move in a linear axial direction, along the rotational axis, with or independently of the rotary dial. In addition to providing input by rotating the rotary dial, a user can provide input via touching the touchpad, actuating the touchpad, and/or actuating the rotary dial in the linear axial direction. In some cases, the rotary dial user interface device may employ the use of a static rotary encoder sensing rotation of an encoder wheel affixed to the rotary dial to determine momentum characteristics associated with the dial.

FIELD

The present disclosure is generally directed to user interface devices,in particular, toward multiple-input user interface devices forvehicles.

BACKGROUND

Navigating complex user interfaces in a computing environment typicallyrequires a combination of several different input devices that are eachconfigured to provide a specific type of output. While a keyboard can beused to enter text or other characters, a mouse, stylus, or touchscreeninput may be required to point a cursor and/or select an interfaceelement rendered by a display device. These traditional interfacedevices, however, may not be feasible to use when interacting with thecomplex computing interfaces and display devices associated with avehicle.

Among other things, the safe operation of a vehicle demands focus andattention that would not generally allow a user to interact withkeyboards or other traditional input devices to interact with vehiclecontrol systems and displays. Further, the operator of a vehicle may notbe able to manipulate input devices that require more than one hand touse while the operator is driving the vehicle. In addition, theconfiguration and the limited amount of the space inside of vehiclesgenerally cannot support multiple traditional input devices.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a perspective view of a user interface environment inaccordance with embodiments of the present disclosure;

FIG. 2 is a block diagram of the hardware of a user interface system inaccordance with embodiments of the present disclosure;

FIG. 3 is a block diagram of a computing environment associated with theembodiments presented herein;

FIG. 4 is a block diagram of a computing device associated with one ormore components described herein;

FIG. 5A shows a perspective view of a jog dial user interface device inaccordance with embodiments of the present disclosure;

FIG. 5B shows a perspective section view of the jog dial user interfacedevice taken through an approximate center of the device shown in FIG.5A;

FIG. 5C shows a detail section view of the jog dial user interfacedevice taken through an approximate center of the device shown in FIG.5A;

FIG. 6A shows a perspective view of a partially disassembled jog dial inaccordance with embodiments of the present disclosure;

FIG. 6B shows a plan view of a partially disassembled jog dial inaccordance with embodiments of the present disclosure;

FIG. 7 shows a plan view of a rotary encoder ring for the jog dial userinterface device in accordance with embodiments of the presentdisclosure;

FIG. 8A shows a jog dial user interface device state for a first inputtype in accordance with embodiments of the present disclosure;

FIG. 8B shows a jog dial user interface device state for a second inputtype in accordance with embodiments of the present disclosure;

FIG. 8C shows a jog dial user interface device state for a third inputtype in accordance with embodiments of the present disclosure;

FIG. 9 shows a jog dial user interface device and display interactionfor scrolling through lists in accordance with embodiments of thepresent disclosure;

FIG. 10 shows a jog dial user interface device and display interactionupon reaching an end of a list in accordance with embodiments of thepresent disclosure;

FIG. 11A shows a haptic output for a jog dial user interface deviceduring a first display interaction in accordance with embodiments of thepresent disclosure;

FIG. 11B shows a haptic output for a jog dial user interface deviceduring a second display interaction in accordance with embodiments ofthe present disclosure;

FIG. 12 is a flow diagram of a method for controlling displayed contentvia actuation of a jog dial user interface device in accordance withembodiments of the present disclosure;

FIG. 13 is a flow diagram of a method for controlling physical hapticoutput of a jog dial user interface device based on a cursor location indisplayed content in accordance with embodiments of the presentdisclosure; and

FIG. 14 is a flow diagram of a method for controlling an amount ofphysical haptic output of a jog dial user interface device based on anumber of displayed elements in a user interface in accordance withembodiments of the present disclosure.

DETAILED DESCRIPTION

In some embodiments, the present disclosure describes a mechanicaldevice that, among other things, provides a simplified input system fornavigating a multitude of complex user interfaces in an efficient andsimple manner. The device may be a user input device for a vehicleconfigured with a moveable dial, or jog dial. The jog dial may beconfigured to rotate freely about an axis and at least partially move ina linear direction along a length of the axis.

In some cases, the jog dial user interface device may include atouch-based, touch sensitive interface, or touchpad, disposed within acenter of the jog dial (e.g., surrounded by the dial). In oneembodiment, the touchpad may be rotationally fixed, but may beconfigured to move in the linear direction along the rotational axisalong with or independently of the dial. Some embodiments may notrequire this touchpad. However, the touchpad may allow for multi-touchinput provided by a user. The touchpad may be covered by a touchpadcover and may be placed on top of a trackpad holder. In one embodiment,the touchpad may be affixed, or otherwise attached, to a rotationallyfixed shaft of the jog dial user interface device.

In any event, the jog dial may comprise a rotational dial operativelyconnected to the rotationally fixed shaft via one or more low-friction(e.g., ABEC-type) ball bearings. The user input device, or jog dial userinterface device, may include at least one linear bearing and springsurrounding the rotational axis and defining a selection input line oftravel (e.g., along a length of the rotational axis). The jog dialand/or the touchpad may be actuated, or depressed, in a direction alongthis input line of travel to provide a selection input to the jog dialuser interface device, or other computing system, of a vehicle. Forexample, actuating the jog dial and/or the touchpad may contact a buttonor switch configured to provide a selection input.

In some embodiments, the jog dial user interface device may provideunrestricted rotation of the jog dial (e.g., allowing rotation that isnot limited or restricted by actual/physical detents, contacts, brakes,etc.) with various movement feedback provided via one or more hapticdevices (e.g., piezoelectric devices, eccentric rotating mass actuators,linear resonant actuators, and/or the like) included and/or attached toa portion of the jog dial user interface device (e.g., the jog dial,shaft, etc.). In some cases, the haptic feedback may be accompanied byan auditory output (e.g., click, buzz, ping, etc., and/or some othersound or combination thereof). In one embodiment, the haptic feedbackmay provide the auditory output. In some embodiments, the auditoryoutput may be provided via a speaker or other sound transducerassociated with the jog dial user interface device. This unrestrictedmovement allows the jog dial to spin freely under its own mass, withfeedback provided by various contextually-sensitive, configurable,haptic interactions. The mass of the jog dial and free movement providesa luxury feel otherwise not available in conventional user interfacedevices.

In some embodiments, the jog dial may have a specific mass that, inconjunction with a low-friction rotational bearing system, provides amomentum scrolling effect when physically spun and released. Inparticular, once spun, the jog dial may continue to spin freely for oneor more revolutions and a corresponding effect may be provided (e.g.,dynamically rendered, etc.) on a user interface display device.

In some embodiments, the physical properties (e.g., mass and lowfriction, etc.) may allow the dial to be quickly spun in order to enablea rapid scrolling through displayed lists, sets, or groups of options.Because of the physical mass of the dial and low rotating resistance ofthe rotational bearings the dial may be capable of rotating freely whenspun (and released).

The software and processing system of the jog dial user interface devicemay interpret the movement characteristics of the jog dial after animparted spin, determine an angular speed, acceleration, deceleration,and/or other variations in speed/acceleration/deceleration over time andmimic the movement characteristics in the display of object or items,selection focus, or other indicators on the interface display device.The relationship between the jog dial's movement properties may providedifferent visual effects based on a context of the displayed elementsand/or other software elements. For example, the software may beresponsive to how quickly a jog dial is scrolling (e.g., rotating underthe frictionless bearing arrangement, etc.) and may indicate therotational speed of the jog dial by speeding up the scrolling through alist, group of options, or menu, etc.

In some embodiments, the rotational movement of the jog dial may bealtered based on an energy provided by a piezo/haptic device attached tothe rotationally fixed shaft and/or jog dial of the jog dial userinterface device. However, embodiments of the present disclosure are notso limited.

With the jog dial user interface device configuration described hereinit is possible to simulate acceleration and momentum based on a softwaresimulation of physical movements. Accordingly, physically accuratemovements in an associated user interface are provided making theinteraction a more pleasing experience. Lists and menus may benefit themost from the presently disclosed momentum scrolling. In one embodiment,to make momentum scrolling efficient the resolution of the virtualdetents may be variable and change accordingly with a list and/or menulength. If the list and/or menu is long the virtual detents may beprovided closer together (angularly). If the list and/or menu is shortthe virtual detents may be reconfigured to be further apart (angularly).As can be appreciated, in this embodiment, the various haptics and/orauditory feedback of the jog dial may change accordingly.

In some embodiments, the jog dial user interface device may include ajog dial, a high-precision rotary encoder, and a haptic deviceconfigured to provide haptic feedback when the jog dial is rotated fromone angular position to another. In some cases, the haptic feedback maybe provided based on a user interface context, speed of rotation, and/ora position of the jog dial along 360 degrees. In one embodiment, thehaptic feedback may be provided when the jog dial is rotated to acomputer-determined, virtual, detent position.

The variable virtual detents as described herein may be predefinedand/or based on positional information associated with a user interfacemenu, list, set, group of options, etc. For instance, the virtualdetents may be variable (e.g., dynamically applied, released, and/ormoved) depending on an application, user interface presentation, and/orinteraction with some other controlled system. The jog dial may becapable of providing 200 detents, or steps, per revolution (i.e.,complete rotation of the jog dial). This resolution may be achieved viaa rotary encoder reading a rotation of the dial (e.g., via a rotaryencoder disk or wheel, etc.). In one embodiment, the rotary encoder maycomprise an optical sensor reading a rotary scale associated with a codewheel.

The software and processing system for the jog dial user interfacedevice may be configured to be highly responsive, given the high degreeof sensitivity associated with the rotary input. The software may bedesigned to read each of the rotary steps as distinct inputs forswitching between different user interface items or to create peakinganimations between different items in the user interface.

In some embodiments, the software and processing system may determinehow quickly the jog dial has been moved (e.g., reading a specific numberof rotary steps over a time period) and the angular speed may correspondto a speed of scrolling through lists, sets, groups of options, and/ormenus. In one embodiment, the virtual detents provided by the hapticdevice may cause a movement of a spun dial to be restricted (e.g.,interrupting an energy of the jog dial spinning by vibrating the shaftupon which the jog dial spins).

Although the encoder may be illustrated and described as being disposedwithin a portion of the jog dial, it should be appreciated that theencoder may be disposed outside of the jog dial envelope and, as such,the electronics associated with the encoder would not require routingthrough the rotationally fixed shaft.

In some embodiments, the haptic device of the jog dial user interfacedevice may be configured to apply haptic feedback when the jog dial isrotated between options in a user interface presentation and ceasehaptic feedback when a selection focus reaches a user interface limitallowing the dial to spin freely (e.g., without additionally appliedresistance). While the haptic feedback at one or more points of rotationcan provide a virtual detent effect by essentially transmitting energy(e.g., in the form of movement, vibration, etc.) to the jog dial as itis rotated, the present disclosure describes a user interaction wherethe haptic feedback and/or outside resistance is eliminated allowing thedial to spin freely. In some cases, the cessation of haptic feedback maybe accompanied by a break in auditory output (e.g., providing asilence), or a sound that indicates the dial has reached the userinterface limit (e.g., whistling, etc.).

By way of example, upon reaching the end of a list, menu, or group ofoptions, in a displayed user interface, the haptic feedback provided bythe haptic device(s) of the jog dial user interface device may beeliminated or ceased. This cessation has the effect of providing arecognizable difference to a user (e.g., indicating that the end of thelist has been reached, etc.) from the virtual detents provided whenmoving between items in a list.

In one embodiment, upon rotating the jog dial such that the selectionfocus returns to items in the list, group of options, or menu, thevirtual detents provided by the haptic device may be returned causingthe movement of the jog dial to have definitive angular steps betweenoptions. This feedback may provide a restricted feel to the movement ofthe dial, without physically interrupting the movement of the dial(e.g., by interrupting an energy of the dial spinning by vibrating theshaft upon which the dial spins).

Embodiments of the present disclosure will be described in connectionwith a computing system and/or display devices of a vehicle, and in someembodiments, an electric vehicle, rechargeable electric vehicle, and/orhybrid-electric vehicle and associated systems. It should beappreciated, however, that the jog dial user interface device is notlimited to use with a vehicle and may be used with any computingenvironment and/or display device.

FIG. 1 shows a perspective view of a user interface environment 100 inaccordance with embodiments of the present disclosure. The userinterface environment 100 may include a jog dial user interface device104, at least one display device 112, and/or physical interface hardwarebuttons 108. In some embodiments, the display device 112 may beseparated by one or more physical or virtual dividers, sections, areas,and/or zones of display. The display device 112 may be configured torender visible objects (e.g., icons, lists, images, moving images,videos, interactive presentations, etc.) via a display (e.g., byselectively providing power and/or communications signals to pixelsand/or other display elements of the display device, etc.). The userinterface environment 100 may be associated with an interior of avehicle, however, it should be appreciated embodiments of the presentdisclosure are not so limited. In the case of a vehicle interior, thejog dial user interface device 104 may be mounted to, or at leastpartially within, a portion of the vehicle such as an arm rest, centerconsole or dash panel 116, seat, steering wheel, or other surface insidethe vehicle interior. As illustrated in FIG. 1, the jog dial userinterface device 104 is mounted to a base panel of a center console orarm rest.

FIG. 2 is a block diagram of the hardware of a user interface system 200in accordance with embodiments of the present disclosure. As describedabove, the user interface system 200 may include one or more displaydevices 112 that are configured to selectively activate pixels and/ordisplay elements to render one or more user interface windows,indicators, icons, characters, etc. In one embodiment, the displaydevice 112 may be a liquid crystal display (LCD), a light-emitting diode(LED) display, electroluminescent display (ELD), organic LED (OLED)display, and/or some other two-dimensional and/or three-dimensionaldisplay device. In some embodiments, the display device 112 may extendsalong a length of a vehicle console or dash. The display device 112 maybe configured to render information in one or more discrete areas of thedisplay 256. In any event, the display device 112 may include a powersupply 240, a signal receiver 244, a display driver 248, at least oneinput/output port 252, a display 256, and/or more 258.

One or more display controllers 236 may be included for controlling theoperation of the display device 112, including input (e.g., userinterface device input) and output (display) functions. In someembodiments, the functions of the display controller 236 may beincorporated into other components, such as a processor or computersystem 232.

The computer system 232 may include a processor or controller forexecuting application programming and/or instructions. In accordancewith at least some embodiments of the present disclosure, the computersystem 232 may include multiple processor cores, and/or implementmultiple virtual processors. In one embodiment, the computer system 232may include multiple physical processors. For instance, the computersystem 232 may comprise a specially configured application specificintegrated circuit (ASIC) or other integrated circuit, a digital signalprocessor, a controller, a hardwired electronic or logic circuit, aprogrammable logic device or gate array, a special purpose computer,and/or the like. The computer system 232 may function to run programmingcode or instructions implementing various functions of the userinterface system 200.

One or more hardware buttons 108 may be associated with the userinterface system 200 and/or the jog dial user interface device 104. Thehardware buttons 108 may be configured as switches, buttons, dials,touchpads (e.g., capacitive and/or resistive touch-sensitive pads),and/or some other control device for use in connection with certaincontrol operations of the computer system 232 and/or the jog dial userinterface device 104.

Communications between various components of the user interface system200 may be carried by one or more buses 202. In some embodiments, powermay be supplied to the components of the user interface system 200 froma power source and/or power control module. The power control module mayinclude, but is in no way limited to, a battery, an AC-to-DC converter,power control logic, and/or ports for interconnecting the jog dial userinterface device 104, the display device 112, and/or other components ofthe user interface system 200 to a source of power.

The jog dial user interface device 104 may include one or moreprocessors 204, data storage 208, memory 212, position sensor(s) 216,touch sensitive input device 220, input switch(es) 224, haptic device(s)228, and/or other components 232. As described herein, input provided bythe jog dial user interface device 104 may be communicated to thecomputer system 232 and/or the display device 112 via one or more bus202.

The processor 204 may comprise a programmable processor or controllerfor executing application programming or instructions associated withthe jog dial user interface device 104. In some embodiments, theprocessor 204 may include multiple processor cores, and/or implementmultiple virtual processors. In one embodiment, the processor 204 mayinclude multiple physical processors. For instance, the processor 204may comprise a specially configured application specific integratedcircuit (ASIC) or other integrated circuit, a digital signal processor,a controller, a hardwired electronic or logic circuit, a programmablelogic device or gate array, a special purpose computer, or the like. Inany event, the processor 204 may function to run programming code orinstructions implementing various functions of the jog dial userinterface device 104 and/or the user interface system 200.

The jog dial user interface device 104 may also include a data storage208 and/or memory 212 for use in connection with the execution ofapplication programming or instructions by the processor 204, and/or forthe temporary or long term storage of program instructions and/or data.By way of example, the data storage 208 and/or the memory 212 maycomprise RAM, DRAM, SDRAM, or other solid state memory device. In oneembodiment, the data storage 208 may comprise a hard disk drive or otherrandom access memory that is separate from the memory 212.

In some embodiments, the jog dial user interface device 104 may includeone or more position sensor(s) 216. The position sensor(s) 216 mayprovide a signal indicating a position of a code wheel, encoder plate,and/or rotary dial of the jog dial user interface device 104. In oneembodiment, this signal and position information can be provided as aninput, for example to a user interface application running via theprocessor 204 and/or the computer system 232, to determine anapplication operating mode, an output for display by the display device112 (e.g., a position of a user interface element, indicator, pointer,etc., rendered by the display 256 of the display device 112), a speed orother characteristic of the output for display by the display device112, and/or other jog dial user interface device 104 operations. Theposition sensor(s) 216 may include one or more of a multiple positionswitch, an optical switch, an optical sensor (e.g., encoder, etc.), amagnetic sensor, a magnetic switch, a potentiometer, and/or other devicecapable of providing a signal indicating a number of multiple relativepositions of the rotary dial from a rotational origin or referencepoint.

The jog dial user interface device 104 may include at least one touchsensitive input device 220. In some embodiments, the touch sensitiveinput device 220 may be disposed inside a rotary dial and may berotationally fixed (e.g., relative to the rotary dial etc.). The touchsensitive input device 220 may include a physical structure, or atouchpad substrate, that enables the user to interact with the computersystem 232 by touching areas on the touchpad and provide information toa user through the display device 112. The touch sensitive input device220 may sense user contact in a number of different ways, such as by achange in an electrical parameter (e.g., resistance or capacitance),acoustic wave variations, infrared radiation proximity detection, lightvariation detection, and/or the like. In a resistive touchpad, forexample, normally separated conductive and resistive metallic layers inthe substrate pass an electrical current. When a user touches thetouchpad, the two layers may make contact in the contacted location,whereby a change in electrical field is noted and the coordinates of thecontacted location is calculated. In a capacitive touchpad, a capacitivelayer may store electrical charge, which is then discharged to the userupon contact with the touchpad, causing a decrease in the charge of thecapacitive layer. The decrease may be measured (e.g., via the processor204, etc.), and the contacted location coordinates determined. In asurface acoustic wave touchpad, an acoustic wave is transmitted throughthe touchpad, and the acoustic wave may be disturbed by usercontact/interaction. A receiving transducer can detect this usercontact/interaction instance and then determine the contacted locationcoordinates associated with the contact/interaction.

Similar to the hardware buttons 108, the jog dial user interface device104 may include one or more integrated input switch(es) 224. These inputswitch(es) 224 may receive an actuation or selection input provided by auser at the one or more components of the jog dial user interface device104. In one embodiment, a user may press and physically displace (e.g.,some distance) the rotary dial and/or touchpad along a common selectionaxis (e.g., the axis of rotation for the rotary dial, etc.) to provide aselection input. This input may be received via a switch, button,optical sensor, or other device that is operatively coupled with therotary dial and/or touchpad. In some embodiments, the rotary dial may bephysically actuated separately and apart from physically actuating thetouchpad, and/or vice versa. In this instance, separate input switch(es)224 may be associated with each of the rotary dial and the touchpad(e.g., providing unique selection input for each device component).

In some embodiments, the jog dial user interface device 104 may includeone or more haptic device(s) 228. Haptic devices 228 can include anydevice that is configured to convert an electrical signal into amechanical movement or physical feedback to a user of the jog dial userinterface device 104. Examples of the haptic device(s) 228 may include,but are in no way limited to, vibrating motors, tactile transducers,eccentric movement motors, magnetically-actuated vibration devices,solenoids, vibrating motor disks, coin-cell vibration motors,piezoelectric transducers, surface transducers, and/or the like. Asdescribed herein, the haptic device(s) 228 may be configured to providefeedback to a user of a position of the rotary dial, a selection, adisplay output, a speed of output, and/or the like. In some embodiments,the feedback may be accompanied by an audible output (e.g., a sound,tone, click, etc.) provided by the haptic device(s) 228. In oneembodiment, the haptic device(s) 228 may operate in conjunction with aspeaker and/or an amplifier that provides the audible output. The hapticdevice(s) 228 may be attached to the touch sensitive input device 220,or touchpad, touchpad support member, the center shaft, the jog dial, orother surface of the jog dial user interface device 104.

FIG. 3 illustrates a block diagram of a computing environment 300 thatmay function as the servers, user computers, computer system 232, orother systems provided and described herein. The computing environment300 includes one or more user computers, or computing devices, such as avehicle computing device 304, a communication device 308, and/or more312. The computing devices 304, 308, 312 may include general purposepersonal computers (including, merely by way of example, personalcomputers, and/or laptop computers running various versions of MicrosoftCorp.'s Windows® and/or Apple Corp.'s Macintosh® operating systems)and/or workstation computers running any of a variety ofcommercially-available UNIX® or UNIX-like operating systems. Thesecomputing devices 304, 308, 312 may also have any of a variety ofapplications, including for example, database client and/or serverapplications, and web browser applications. Alternatively, the computingdevices 304, 308, 312 may be any other electronic device, such as athin-client computer, Internet-enabled mobile telephone, and/or personaldigital assistant, capable of communicating via a network 352 and/ordisplaying and navigating web pages or other types of electronicdocuments. Although the exemplary computing environment 300 is shownwith two computing devices, any number of user computers or computingdevices may be supported.

The computing environment 300 may also include one or more servers 314,316. In this example, server 314 is shown as a web server and server 316is shown as an application server. The web server 314, which may be usedto process requests for web pages or other electronic documents fromcomputing devices 304, 308, 312. The web server 314 can be running anoperating system including any of those discussed above, as well as anycommercially-available server operating systems. The web server 314 canalso run a variety of server applications, including SIP (SessionInitiation Protocol) servers, HTTP(s) servers, FTP servers, CGI servers,database servers, Java servers, and the like. In some instances, the webserver 314 may publish operations available operations as one or moreweb services.

The computing environment 300 may also include one or more file andor/application servers 316, which can, in addition to an operatingsystem, include one or more applications accessible by a client runningon one or more of the computing devices 304, 308, 312. The server(s) 314and/or 316 may be one or more general purpose computers capable ofexecuting programs or scripts in response to the computing devices 304,308, 312. As one example, the server 314, 316 may execute one or moreweb applications. The web application may be implemented as one or morescripts or programs written in any programming language, such as Java™,C, C#®, or C++, and/or any scripting language, such as Perl, Python, orTCL, as well as combinations of any programming/scripting languages. Theapplication server(s) 316 may also include database servers, includingwithout limitation those commercially available from Oracle®,Microsoft®, Sybase®, IBM® and the like, which can process requests fromdatabase clients running on a computing device 304, 308, 312.

The web pages created by the server 314 and/or 316 may be forwarded to acomputing device 304, 308, 312 via a web (file) server 314, 316.Similarly, the web server 314 may be able to receive web page requests,web services invocations, and/or input data from a computing device 304,308, 312 (e.g., a user computer, etc.) and can forward the web pagerequests and/or input data to the web (application) server 316. Infurther embodiments, the server 316 may function as a file server.Although for ease of description, FIG. 3 illustrates a separate webserver 314 and file/application server 316, those skilled in the artwill recognize that the functions described with respect to servers 314,316 may be performed by a single server and/or a plurality ofspecialized servers, depending on implementation-specific needs andparameters. The computer systems 304, 308, 312, web (file) server 314and/or web (application) server 316 may function as the system, devices,or components described in FIGS. 1-3.

The computing environment 300 may also include a database 318. Thedatabase 318 may reside in a variety of locations. By way of example,database 318 may reside on a storage medium local to (and/or residentin) one or more of the computers 304, 308, 312, 314, 316. Alternatively,it may be remote from any or all of the computers 304, 308, 312, 314,316, and in communication (e.g., via the network 352) with one or moreof these. The database 318 may reside in a storage-area network (“SAN”)familiar to those skilled in the art. Similarly, any necessary files forperforming the functions attributed to the computers 304, 308, 312, 314,316 may be stored locally on the respective computer and/or remotely, asappropriate. The database 318 may be a relational database, such asOracle 20i®, that is adapted to store, update, and retrieve data inresponse to SQL-formatted commands.

FIG. 4 illustrates one embodiment of a computer system 400 upon whichthe servers, user computers, computing devices, computer system 232, orother systems or components described above may be deployed or executed.The computer system 400 is shown comprising hardware elements that maybe electrically coupled via a bus 404. The hardware elements may includeone or more central processing units (CPUs) 408; one or more inputdevices 412 (e.g., a mouse, a keyboard, etc.); and one or more outputdevices 416 (e.g., a display device, a printer, etc.). The computersystem 400 may also include one or more storage devices 420. By way ofexample, storage device(s) 420 may be disk drives, optical storagedevices, solid-state storage devices such as a random access memory(“RAM”) and/or a read-only memory (“ROM”), which can be programmable,flash-updateable and/or the like.

The computer system 400 may additionally include a computer-readablestorage media reader 424, a communications system 428 (e.g., a modem, anetwork card (wireless or wired), an infra-red communication device,etc.), and working memory 436, which may include RAM and ROM devices asdescribed above. The computer system 400 may also include a processingacceleration unit 432, which can include a DSP, a special-purposeprocessor, and/or the like.

The computer-readable storage media reader 424 can further be connectedto a computer-readable storage medium, together (and, optionally, incombination with storage device(s) 420) comprehensively representingremote, local, fixed, and/or removable storage devices plus storagemedia for temporarily and/or more permanently containingcomputer-readable information. The communications system 428 may permitdata to be exchanged with a network and/or any other computer describedabove with respect to the computer environments described herein.Moreover, as disclosed herein, the term “storage medium” may representone or more devices for storing data, including read only memory (ROM),random access memory (RAM), magnetic RAM, core memory, magnetic diskstorage mediums, optical storage mediums, flash memory devices and/orother machine readable mediums for storing information.

The computer system 400 may also comprise software elements, shown asbeing currently located within a working memory 436, including anoperating system 440 and/or other code 444. It should be appreciatedthat alternate embodiments of a computer system 400 may have numerousvariations from that described above. For example, customized hardwaremight also be used and/or particular elements might be implemented inhardware, software (including portable software, such as applets), orboth. Further, connection to other computing devices such as networkinput/output devices may be employed.

Examples of the processors 204, 408 as described herein may include, butare not limited to, at least one of Qualcomm® Snapdragon® 800 and 801,Qualcomm® Snapdragon® 620 and 615 with 4G LTE Integration and 64-bitcomputing, Apple® A7 processor with 64-bit architecture, Apple® M7motion coprocessors, Samsung® Exynos® series, the Intel® Core™ family ofprocessors, the Intel® Xeon® family of processors, the Intel® Atom™family of processors, the Intel Itanium® family of processors, Intel®Core® i5-4670K and i7-4770K 22 nm Haswell, Intel® Core® i5-3570K 22 nmIvy Bridge, the AMD® FX™ family of processors, AMD® FX-4300, FX-6300,and FX-8350 32 nm Vishera, AMD® Kaveri processors, Texas Instruments®Jacinto C6000™ automotive infotainment processors, Texas Instruments®OMAP™ automotive-grade mobile processors, ARM® Cortex™-M processors,ARM® Cortex-A and ARM926EJ-S™ processors, other industry-equivalentprocessors, and may perform computational functions using any known orfuture-developed standard, instruction set, libraries, and/orarchitecture.

Referring now to FIGS. 5A-5C, various views of the jog dial userinterface device 104 are shown in accordance with embodiments of thepresent disclosure. FIG. 5A shows a perspective view of the jog dialuser interface device 104 and FIG. 5B shows a perspective section viewof the jog dial user interface device 104 taken through an approximatecenter of the device 104 shown in FIG. 5A. FIG. 5C shows a detailsection view of the jog dial user interface device taken through anapproximate center of the device shown in FIG. 5A. Features of the jogdial user interface device 104 and relationships of components making upthe jog dial user interface device 104 may be described in conjunctionwith the coordinate system 102.

The jog dial user interface device 104 includes a jog dial 504 having aninternal cavity 526 configured to at least partially surround a touchpad508. In some embodiments, the jog dial 504 may include a substantiallysymmetrical shape about an axis of rotation, or center axis 518. The jogdial 504 may include a ring-shaped user interface contact surface thatis exposed above the base panel 502 of a corresponding mount surface. Apanel ring 506 may be disposed between the base panel 502 and the jogdial 504. In some embodiments, the panel ring 506 may be compliant andmay serve to close a gap between the base panel 502 and the jog dial504. While the jog dial 504 rotates about the center axis 518, the jogdial 504 may be offset from, and not in contact with, the panel ring506. As described herein, the jog dial 504 may be actuated, or clicked,in an axial direction to provide a particular type of input (e.g., aselection input, etc.). During this operation, the jog dial 504 maycontact, and even slightly compress, a portion of the panel ring 506.

The touchpad 508 may be any substantially flat computer pointing device(e.g., trackpad, touch-sensitive interface, etc.) that translates atouch or gesture movement into a corresponding input for a computersystem 232 and a control of a display device 112. The touchpad 508 maybe a capacitive trackpad, such as the ProxSense® proximity and touchseries of gesture and input trackpads manufactured by Azoteq. In someembodiments, the touchpad 508 may be configured as a round, orsubstantially circular, flat substrate that is disposed at leastpartially in the internal cavity 526 of the jog dial 504. For instance,the touchpad 508 may be similar, if not identical, to the TPR model 54mm round gesture trackpad (e.g., TPR54-P101, etc.) manufactured byAzoteq. In addition, the touchpad 508 may include a controller, such asthe IQS572 series of projected capacitive touch and proximitytrackpad/touchscreen controllers manufactured by Azoteq. Embodiments ofthe jog dial user interface device 104 may arrange the touchpad 508 tobe flush with the top of the jog dial 504, slightly offset from the topof the jog dial 504 and disposed inside the internal cavity 526, orslightly offset from the top of the jog dial 504 and disposed at leastpartially outside of the internal cavity 526. In any event, the jog dial504 may move independently of the touchpad 508.

The jog dial 504 may be configured to rotate about the center axis 518and a center shaft 520. The center shaft 520 may be rotationally fixedand axially supported by one or more linear bearings 544 disposed in asubpanel 510A, 510B, fascia, or structural support of the vehicle. Forinstance, the center shaft 520 may be allowed to move in a directionalong the center axis 518 but may be restricted from rotating about thecenter axis 518. In some embodiments, rotationally fixing the centershaft 520 may include keying at least a portion of the center shaft 520to a subpanel (e.g., third subpanel 510C), intermediate component,bushing, or other mounting surface. Examples of keying may include, butare in no way limited to, a splined-shaft inside a splined-collar oraperture, a key affixed to the center shaft 520 and disposed at leastpartially within a fixed keyway or slot, a keyway arranged in the centershaft 520 and a key disposed at least partially inside the keyway andbetween the shaft 520 and a fixed panel or surface, etc., and/orcombinations thereof. In any event, the keying features of the shaft andthe fixed panel/surface may allow axial movement of the center shaft 520without rotation of the shaft 520.

As illustrated in FIG. 5B, the subpanels 510A-C may be offset from, andattached to, the base panel 502 via one or more standoffs 514A, 514B.The distance between each subpanel 510A-C may be defined by a length ofeach standoff 514A, 514B. The standoffs may be configured as rods,cylindrical standoffs, polygonal-shaped (e.g., square, rectangular, orhexagonal cross-section, etc.) standoffs, etc., that include externalthreads (e.g., threaded rod, etc.), internal threads (e.g., threadedbore, etc.), and/or through-hole (e.g., smooth bore, etc.) features.

The center shaft 520 may include a shaft lumen 522 extending a lengthalong the center axis 518 of the shaft 520. In some embodiments, theshaft lumen 522 may run from a first end of the center shaft 520 to anopposite second end of the center shaft 520. In one embodiment, apass-through aperture may be disposed in a periphery of the center shaft520 and into the shaft lumen 522. Although electrical wires (e.g., powerand communication leads, etc.) may be run through the shaft lumen 522from the first end to the second end, and vice versa, the pass-throughaperture may be used to run electrical wires from electrical componentsdisposed at various points along the length of the center shaft 520.Among other things, running these wires through the shaft lumen 522avoids the need for a slip-ring between rotationally moving components(e.g., the jog dial 504 and code wheel 524) and rotationally fixedcomponents (e.g., the encoder sensor 528, the center shaft 520, etc.).

The jog dial 504 may be configured to rotate about the center axis 518via one or more radial bearings 536 disposed between a portion of thejog dial 504 body and the center shaft 520. The radial bearings 536 mayinclude bearing assemblies comprising an outer race, an inner race, anda plurality of hardened steel balls disposed between the inner and outerraces. The plurality of hardened steel balls may be captured or held ina circular pattern separated, and equidistant, from one another around acircumference of the radial bearings 536 by a cage or frame. Examples ofthese radial bearings 536 may include low-friction ABEC-type ballbearings, roller bearings, thrust bearings, needle bearings, bushings,air bearings, etc., and/or combinations thereof. In some embodiments,the jog dial 504 may have a first end where the touchpad is disposed andan opposite second end where the radial bearings 536 may be disposed.The first end may be exposed and visible to a user, while the second endmay be hidden under a base panel 502 or some other mount surface. Whentwo radial bearings 536 are employed, the radial bearings 536 may beoffset, or separated, from one another by a separation distance. In oneembodiment, a spacer 538 may be used to physically separate each of theradial bearings 536 disposed at least partially within the second end ofthe jog dial 504. In another embodiment, a counterbore or receptacle, inthe jog dial 504 may be configured to physically separate each of theradial bearings 536 disposed in the second end of the jog dial 504. Inany event, the physical separation of the radial bearings 536 by aseparation distance may provide rotational stability for the jog dial504. As can be appreciated, as the separation distance between theradial bearings 536 is increased, the axial and rotational stability ofthe jog dial 504 increases, and vice versa.

As described above, the touchpad 508 may be attached to the center shaft520 in a rotationally fixed manner. In some embodiments, a touchpadsupport member 512 may be fixedly attached directly to the center shaft520. In one embodiment, the touchpad support member 512 may be attachedto a shaft collar 516A. The shaft collars 516A-516C described herein,may be arranged as a split-collar, threaded shaft collar, threaded borecollar, smooth bore collar, etc., and may be clamped to or screwed intothe center shaft 520 providing a rotationally fixed attachment betweenthe touchpad support member 512 and the center shaft 520.

The jog dial user interface device 104 may include a number of inputmodalities, as described herein. In addition to jog dial 504 rotationand touchpad 508 input, the jog dial user interface device 104 may allowfor an axial displacement input such as a click, press, or selectioninput in the Z-axis direction. In one embodiment, a spring 540 may bedisposed between at least one of the fixed linear bearings 544 and thejog dial 504. For instance, the spring 540 may be disposed between alower surface of one of the radial bearings 536 and a surface of anupper fixed linear bearing 544. The spring 540 may be configured as oneor more compression springs. Examples of compression springs mayinclude, but are in no way limited to helical compression springs, diesprings, Belleville springs/washers, leaf springs, any other springelement/assembly that elastically compresses under load, and/orcombinations thereof. In any event, the spring 540 in an uncompressedstate, may correspond to a default or non-axial input state of the jogdial user interface device 104. When in a compressed state, the spring540 may deflect allowing the jog dial 504 and/or the touchpad 508 tomove, or displace, a specific distance along the center axis 518. Thisdisplacement may cause a sensor, switch (e.g., input switch 224), orbutton to be activated providing the selection input. In someembodiments, the jog dial 504 may move in the axial directionindependently of the touchpad 508. In one embodiment, the jog dial 504and the touchpad 508 may move in the axial direction together (e.g.,axially tied to one another). The shaft collars 516B, 516B may limit anaxial movement of the jog dial 504, the touchpad 508, and/or the centershaft 520 to a specific distance.

As shown in FIGS. 5B and 5C, the jog dial user interface device 104 mayinclude at least one code wheel 524 and encoder sensor 528. Althoughshown disposed within the internal cavity 526 of the jog dial 504, thecode wheel 524 and/or encoder sensor 528 may be disposed outside of thejog dial 504. For example, the code wheel 524 may be attached to anexternal portion of the jog dial 504 (e.g., at the second, hidden, endof the jog dial 504) and the encoder sensor 528 may be fixedly attachedto the base panel 502, a subpanel 510A, the center shaft 520, or anyother rotationally fixed portion of the jog dial user interface device104 or user interface system 200.

However, as illustrated at least in FIGS. 5B and 5C, the code wheel 524and the encoder sensor 528 are both disposed within the internal cavity526 of the jog dial 504. The code wheel 524 may be mounted to an innercircumferential surface, or lip, of the jog dial 504. As the jog dial504 rotates about the center axis 518 the code wheel 524 moves, inunison, together with the jog dial 504. The encoder sensor 528 may befixedly attached to the rotationally fixed center shaft 520. In someembodiments, the encoder sensor 528 may be attached to a support plate532 that is interconnected to the center shaft 520. The support plate532 and the encoder sensor 528 are prevented from rotating with rotationof the jog dial 504. In some embodiments, the support plate 532 may beattached to an encoder shaft collar 516B that is fixed to the centershaft 520. In this arrangement, as the jog dial 504 rotates, the encodersensor 528 is maintained in a fixed position and prevented fromrotating, and is configured to read the plurality of positionidentification features disposed in a pattern around a periphery of theencoder wheel 524 to determine a rotation, speed of rotation, position,and/or a change thereof over time, of the jog dial 504.

In FIG. 5C, an electrical interconnection is shown to the touchpad 508and the encoder sensor 528. In some embodiments, the touchpad 508 mayinclude a connector 548 configured to join the electrical components ofthe touchpad 508 with other components (e.g., processor 204, powersupply, etc.) of the jog dial user interface device 104 and/or the userinterface system 200, via first electrical leads 552A. In addition, theencoder sensor 528 may be connected with the other components (e.g.,processor 204, power supply, etc.) of the jog dial user interface device104 and/or the user interface system 200, via second electrical leads552B. The first electrical leads 552A and/or the second electrical leads552B may be configured and/or sized to pass through the shaft lumen 522of the center shaft 520. Because the touchpad 508 and the encoder sensor528 are fixed relative to the rotationally fixed center shaft 520, theelectrical leads 552A, 552B can be routed from the jog dial userinterface device 104 to other fixed components (e.g., display device112, computer system 232, etc., without twisting, rotating, or tanglingabout the center axis 518.

FIGS. 6A and 6B show various views of a partially disassembled jog dial504 in accordance with embodiments of the present disclosure. Inparticular, FIG. 6A shows a perspective view of a partially disassembledjog dial 504 with the touchpad 508 being removed, and FIG. 6B shows aplan view of the partially disassembled jog dial 504 with the touchpad508 completely removed. As shown in FIG. 6A, the first electrical leads552A and the second electrical leads 552B are routed from the touchpad508 and the encoder sensor 528, respectively, through the shaft lumen522 of the center shaft 520.

The touchpad support member 512, in some embodiments, may include two ormore support webs 604 that are separated by one or more support openings608. The support webs 604 may radially extend outwardly from a center ofthe jog dial 504 to a point inside the internal cavity 526 and adjacentto an internal periphery of the jog dial 504. The touchpad 508 may beattached to the touchpad support member 512 at the support web 604and/or a circumferential ring joining the support webs 604 at the pointadjacent to the internal periphery of the jog dial 504. Thecircumferential ring joining the support webs 604 may be integrallyformed in the touchpad support member 512. The structure and arrangementof the touchpad support member 512 provides a support for the touchpad508 while simultaneously providing access to the shaft lumen 522 (e.g.,for the second electrical leads 552B, etc.) via the support openings 608disposed between the two or more support webs 604.

FIG. 7 shows a plan view of a rotary encoder ring, or code wheel 524,for the jog dial user interface device 104 in accordance withembodiments of the present disclosure. The code wheel 524 may comprise acode wheel substrate 704, or body. In some embodiments, the code wheelsubstrate 704 may be configured as a substantially flat disk. In anyevent, the code wheel 524 may include a code wheel center aperture 708passing through the code wheel substrate 704, an outer edge 712, and aplurality of position identification features (e.g., transparentresolution features 716) disposed in a pattern around a periphery of thecode wheel center aperture 708 of the code wheel 524. In someembodiments, the code wheel 524 may include one or more wheel locationfeatures 720 that align the code wheel 524 to the jog dial 504. In oneembodiment, the wheel location features 720 may locate withcorresponding features (e.g., protrusions, protuberances, etc.) disposedinside the internal cavity 526 of the jog dial 504. In some embodiments,the code wheel 524 may be staked, welded, fastened, adhered, and/orotherwise attached to the jog dial 504 via the wheel location features720, the outer edge 712, the code wheel center aperture 708, and/or anyother feature of the code wheel 524.

The code wheel 524 may include a plurality of transparent resolutionfeatures 716 disposed in a pattern around a center of the wheel 524.These transparent resolution features 716 may be configured asapertures, transparent windows, slits, cutouts, etc., that light maypass through. In some embodiments, the light may be provided by theencoder sensor 528 that includes a light emitting element and a lightreceiving element disposed on opposite sides of the code wheel 524. Adensity and/or size of the transparent resolution features 716 maydefine a rotational resolution, or sensitivity, of the jog dial userinterface device 104. For example, the greater the number of transparentresolution features 716, the greater the resolution of the jog dial userinterface device 104, and vice versa.

FIGS. 8A-8C show various states of the jog dial user interface device104 and corresponding inputs in accordance with embodiments of thepresent disclosure. Each of FIGS. 8A-8C show a specific type of userinput 804, 808 and a schematic representation of the jog dial userinterface device 104 that corresponds to the specific type of user input804, 808 provided.

FIG. 8A shows a rotational input 804 of the jog dial 504 in a firstinterface state 800A of the jog dial user interface device 104. Therotational input 804 turns the jog dial 504 relative to the center shaft520 and the touchpad 508. A rotational input 804 may be used to navigatethrough objects rendered to a display device 112, such as lists, images,icons and the like.

FIG. 8B shows a linear actuation input 808 provided to the jog dial 504and/or the touchpad 508 in a second interface state 800B of the jog dialuser interface device 104. In particular, the linear actuation input 808may displace the jog dial 504, the touchpad 508, and/or the center shaft520, a specific distance, HP, from a default position to an actuated, orinput, position. The linear actuation input 808 may be provided in adirection along the center axis 518. In some embodiments, this type oflinear actuation input 808 may correspond to a selection input thatselects an icon, image, list element, application, or other visibleobject rendered to the display 256 of the display device 112.

FIG. 8C shows a touch-based input of the touchpad 508 in a thirdinterface state 800C of the jog dial user interface device 104. Thetouch-based input may correspond to a tap, double-tap, triple-tap, drag,tap-and-hold, gesture, multi-touch, or other touch input provided at asurface of the touchpad 508. In this third interface state 800C, the jogdial 504 is not required to rotate or displace along the center axis518. A touch-based input may be used to navigate through objectsrendered to a display device 112, such as lists, images, icons and thelike, resize objects rendered to the display device 112, and/or switchbetween windows and/or applications rendered to the display device 112,etc.

FIG. 9 shows a schematic representation of a first interaction 900defining a movement of the jog dial user interface device 104, a displayinteraction corresponding to the movement of the jog dial user interfacedevice 104, and a graphical representation of the movement associatedwith the jog dial 504 during the movement. The movement shown in FIG. 9is a free-spin movement where the jog dial 504 is rotated by a user andallowed to continue to rotate under a momentum of the jog dial 504spinning about the center shaft 520 without further user contact. Asshown in the momentum graphical representation 920, a movement curve isshown displaying a magnitude of the jog dial 504 rotation speed alongthe vertical axis 928 and a corresponding time along the horizontal axis932. The movement curve starts at the origin 924 and ends at the end ofrotation 940 point along the horizontal axis 932.

In some embodiments, a user may impart an initial rotation force atorigin 924. The initial rotation force may correspond to the userspinning the jog dial 504 and then letting go of the jog dial 504 atsome point in time along the curve. The movement curve may reach a peak936 having a peak speed and/or acceleration value, AP, at time TP. Asthe jog dial 504 spins under its own mass and friction (e.g., airresistance, bearing friction, etc.) the jog dial 504 may coast to a stopat the end of rotation 940.

In one embodiment, the jog dial 504 may be spun as shown in FIG. 9 tonavigate and/or scroll through lists rendered to a display device 112.The display device 112 may include a number of visible objects renderedin a list presentation 904. The list presentation 904 may include aselection focus 908 (e.g., a highlighted element, etc.) associated withthe position of the scrolling list, etc. In some embodiments, the imagesrendered to the display device 112 may include a scroll level indicator912 that, among other things, indicates a relative position of thevisible object in the selection focus 908 to the list of objects in thelist presentation 904. The display device 112 may be separated to showthe list presentation 904 in one area of the display device 112 andother displayed objects 916 in another area of the display. Thedisplayed objects 916 may correspond to objects associated with the listobject in the selection focus 908 of the list presentation 904.

As described herein, the speed at which the list presentation 904 movesobjects in and out of the visible area of the display device 112 may betied to the speed of the jog dial 504 as it rotates under its ownmomentum. For example, the display of the objects may move at a speedthat exactly follows the movement curve shown in the momentum graphicalrepresentation 920. By way of example, as a user free-spins the jog dial504 and the dial 504 begins to naturally slow down at a rate of speed,the scrolling effect rendered to the display device 112 would slow downat the same rate of speed.

FIG. 10 shows a schematic representation of a second interaction 1000defining a movement of the jog dial user interface device 104 uponreaching an end of a list, a display interaction corresponding to themovement of the jog dial user interface device 104 reaching the end of alist, and a graphical representation of the haptic feedback associatedwith the jog dial 504 as it follows the movement curve and reaches theend of the list. The curve shown in dashed lines in FIG. 10 maycorrespond to the free-spin movement of FIG. 9 where the jog dial 504 isrotated by a user and allowed to continue to rotate under a momentum ofthe jog dial 504 spinning about the center shaft 520 without furtheruser contact. The digital area associated with the curve may correspondto a number of haptic outputs provided by the haptic device(s) 228 ofthe jog dial user interface device 104 as the jog dial 504 spinsaccording to the curve. These haptic outputs may provide a scrollingresistance, or feel, by vibrating a portion of the jog dial userinterface device 104 (e.g., the center shaft 520, the jog dial 504, thetouchpad 508, etc.) during rotation. For example, the faster the jogdial 504 spins, the greater the number of haptic outputs provided, andthe slower the jog dial 504 spins, the fewer the number of hapticoutputs provided.

As shown in the scroll resistance graphical representation 1020, themovement curve from FIG. 9 is superimposed over a haptic output graph,represented by a discrete number of haptic outputs over time. Theamount, or number, of haptic outputs is represented along the verticalaxis 1028 and a corresponding time for the number of haptic outputsprovided along the movement curve is represented by the horizontal axis1032. The haptic outputs start at the origin 1024 and end when the endof list 1040 has been reached, regardless of whether the jog dial 504 iscontinuing to spin.

The haptic device(s) 228 of the jog dial user interface device 104 maybe configured to apply haptic feedback when the jog dial 504 is rotatedbetween options in a user interface presentation and cease hapticfeedback when a selection focus 908 reaches a user interface limitallowing the dial 504 to spin freely (e.g., without additionally appliedresistance). While the haptic feedback at one or more points of rotationcan provide a virtual detent effect by essentially transmitting energy(e.g., in the form of movement, vibration, etc.) to the jog dial 504 asit is rotated, the present disclosure describes a user interaction wherethe haptic feedback and/or outside resistance is eliminated allowing thedial 504 to spin freely. In some cases, the cessation of haptic feedbackmay be accompanied by a break in auditory output (e.g., providing asilence), or a sound that indicates the dial has reached the userinterface limit (e.g., whistling, etc.).

As shown in the scroll resistance graphical representation 1020 of FIG.10, upon reaching the end of a list, menu, or group of options, in adisplayed user interface (e.g., list presentation 904), the hapticfeedback provided by the haptic device(s) 228 of the jog dial userinterface device 104 may be completely eliminated or ceased. Thiscessation has the effect of providing a recognizable difference to auser (e.g., indicating that the end of the list has been reached, etc.)from the virtual detents provided when moving between items in a list.

FIGS. 11A and 11B show a variable detent associated with the hapticoutput provided by the haptic device(s) 228 over time. The size of thevariable detent may depend on a number of items in a list, a number ofobjects displayed, and/or a speed of rotation associated with the jogdial 504. The haptic output interactions 1100A, 1100B shown in FIGS. 11Aand 11B show a schematic representation of a movement of the jog dialuser interface device 104 as the jog dial 504 rotates and scrollsthrough a first and second list presentation 1104A, 1104B, a displayinteraction corresponding to the movement of the jog dial user interfacedevice 104 through the lists, and a graphical representation of thehaptic feedback and variable detent size associated with the hapticoutput provided to the jog dial 504 as it follows the movement curve andnavigates through the lists. The curves shown in dashed lines in FIGS.11A and 11B may correspond to the free-spin movement graph of FIG. 9.

FIG. 11A shows a variable detent size graphical representation 1120Aassociated with a first list presentation 1104A having a first number oflist items. The first list presentation focus 1108A is shown in a firstposition in the first list presentation 1104A along with a list itemhaving a first size. As shown in the variable detent size graphicalrepresentation 1120A, the movement curve from FIG. 9 is superimposedover a haptic output graph, represented by a discrete number of hapticoutputs over time. The amount, or number, of haptic outputs isrepresented along the vertical axis 1128 and a corresponding time forthe number of haptic outputs provided along the movement curve isrepresented by the horizontal axis 1132. The haptic outputs start at theorigin 1124 and may end at the end of list 1040 or the rotation of thejog dial 504 as described herein.

In FIG. 11A, the first variable detent width, VDW1, may be based on thenumber of items in the list associated with the first list presentation1104A. The first variable detent width, VDW1, may correspond to a timefor each haptic output provided by the haptic device(s) 228 of the jogdial user interface device 104. The size of the variable detent widthincreases, providing a longer haptic output duration, as the number ofthe items in a list decreases. Additionally or alternatively, the sizeof the variable detent width decreases, providing a shorter hapticoutput duration, as the number of the items in a list increases. In someembodiments, the duration of each variable detent and the haptic outputassociated therewith is inversely proportional to the number of items inthe list.

FIG. 11B shows an adjusted variable detent size graphical representation1120B associated with a second list presentation 1104B having a seconddifferent number of list items. The second list presentation focus 1108Bis shown in a position in the second list presentation 1104B along witha list item having a second size (e.g., that is greater than the listitem having the first size).

In FIG. 11B, the second variable detent width, VDW2, may be based on thenumber of items in the list associated with the second list presentation1104B. The second variable detent width, VDW2, may correspond to adecreased time for each haptic output provided by the haptic device(s)228 of the jog dial user interface device 104. The size of the variabledetent width decreases, providing a shorter haptic output duration, asthe number of the items in a list increases. As provided above, theduration of each variable detent and the haptic output associatedtherewith may be inversely proportional to the number of items in agiven list.

The variable detents described in conjunction with FIGS. 11A and 11B maybe dynamically and continually adjusted in response to determining anumber of items associated with a particular list and list presentation1104A, 1104B to render to a display device 112.

FIG. 12 is a flow diagram of a method 1200 for controlling displayedcontent via actuation of a jog dial user interface device 104 inaccordance with embodiments of the present disclosure. While a generalorder for the steps of the method 1200 is shown in FIG. 12, the method1200 can include more or fewer steps or can arrange the order of thesteps differently than those shown in FIG. 12. Generally, the method1200 starts with a start operation 1204 and ends with an end operation1240. The method 1200 can be executed as a set of computer-executableinstructions executed by a computer system (e.g., computer system 232,processor 204, etc.) and encoded or stored on a computer readable medium(e.g., data storage 208, memory 212, etc.). Hereinafter, the method 1200shall be explained with reference to the systems, components,assemblies, devices, user interfaces, environments, software, etc.described in conjunction with FIGS. 1-11B.

The method 1200 begins at step 1204 and proceeds by rendering visualobjects to a display area of a display device 112 (step 1208). Thevisual objects may correspond to any object that is rendered to thedisplay 256 of the display device 112. In one embodiment, the visualobjects may correspond to a list of items displayed in a list format tothe display device 112.

Next, the method 1200 determines rotation information from the jog dialuser interface device 104 (step 1212). The rotation information mayinclude an amount of rotation (e.g., angular increment of rotation) ofthe jog dial 504, a speed or velocity of the rotation at one or moretimes, an acceleration of the jog dial 504 rotating over time, and/orchanges thereto. In some embodiments, the rotation information mayindicate whether the jog dial 504 is spinning under momentum, withoutuser contact. For example, the computer system may determine that thejog dial 504 is spinning according to a movement curve or curve shapestored in a memory device of the jog dial user interface device 104and/or the user interface system 200. The rotation information may bedetermined based on a measurement of the rotation of the jog dial 504from the code wheel 524 moving relative to the encoder sensor 528.

The method 1200 may continue by determining a type of the visual objectsdisplayed, or rendered, to the display device 112 (step 1216). In somecases, the visual objects may include objects of a type that can benavigated between or through. These types of objects may include, butare in no way limited to, lists, grids, organized icons, arrays ofimages or icons, matrices, etc., and/or combinations thereof. Somevisual objects may be of a type that cannot be navigated between orthrough. These types of objects may include, but are in no way limitedto, single images, icons, ends of lists, etc., and/or combinationsthereof.

As described above, the method 1200 may proceed by determining ifmomentum scrolling is available based on one or more of the type of thevisual objects displayed and/or the rotation information from the jogdial user interface device 104 (step 1220). In one embodiment, themomentum scrolling may not be available if it is determined that the jogdial 504 is under user contact and not free spinning.

If momentum scrolling is available, the method 1200 proceeds byscrolling displayed objects based on the type and rotation informationdetermined (step 1224). For example, the speed and/or acceleration atwhich items in a list presentation are displayed (e.g., moved in and outof the visible area of the display device 112, etc.) may be tied to thespeed of the jog dial 504 as it rotates under its own momentum. In thisexample, the display of the objects may move at a speed that exactlyfollows the movement curve of the jog dial 504 spinning without usercontact. As a user free-spins the jog dial 504 and the jog dial 504 maybegin to naturally slow down at a specific rate of speed and, inresponse, the scrolling effect rendered to the display device 112 by thecomputer system would slow down at the same rate of speed. The method1200 may continue to repeat or end at step 1240.

If momentum scrolling is not available, the method 1200 may continue bydetermining whether haptic interaction is available (step 1228). In someembodiments, haptic interaction may be available where items in the listof items displayed remain to move into the selection focus in a displaydevice 112. Additionally or alternatively, haptic interaction may not beavailable where items in the list of items displayed do not remain tomove into the selection focus in a display device 112. In the latterexample, haptic interaction may not be available when the end of a listhas been reached.

Where haptic interaction is available, the haptic device(s) 228 of thejog dial user interface device 104 may continue to provide haptic output(e.g., by vibrating a portion of the jog dial user interface device 104)based on the rotation information determined in step 1212 (step 1232).Where haptic interaction is not available, the haptic output provided bythe haptic device(s) 228 may be ceased, or stopped, allowing the jogdial 504 to rotate in accordance with the rotational information by freespinning, etc. (step 1236). The method 1200 ends at step 1240.

FIG. 13 is a flow diagram of a method 1300 for controlling physicalhaptic output of a jog dial user interface device 104 based on a cursorlocation in displayed content in accordance with embodiments of thepresent disclosure. While a general order for the steps of the method1300 is shown in FIG. 13, the method 1300 can include more or fewersteps or can arrange the order of the steps differently than those shownin FIG. 13. Generally, the method 1300 starts with a start operation1304 and ends with an end operation 1332. The method 1300 can beexecuted as a set of computer-executable instructions executed by acomputer system (e.g., computer system 232, processor 204, etc.) andencoded or stored on a computer readable medium (e.g., data storage 208,memory 212, etc.). Hereinafter, the method 1300 shall be explained withreference to the methods, systems, components, assemblies, devices, userinterfaces, environments, software, etc. described in conjunction withFIGS. 1-12.

The method 1300 begins at step 1304 and proceeds by rendering visualobjects to a display area of a display device (step 1308), determiningrotation information from the jog dial user interface device 104 (step1312), and determining a type of the visual objects displayed (step1316). In some embodiments, steps 1308, 1312, and 1316 may be similar,if not identical, to steps 1208, 1212, and 1216, respectively, asdescribed in conjunction with FIG. 12.

Based on the type of visual objects displayed and the rotationinformation determined, the method 1300 may continue by activating thehaptic device(s) 228 of the jog dial user interface device 104 toprovide haptic output corresponding to an input feedback (step 1320). Insome embodiments, the haptic output may be provided for every item in alist or for groups of items in a list. In one embodiment, the hapticoutput may be provided for a specific duration based on, for example, asize of the item or group of items in the list.

Next, the method 1300 determines whether an end of the scrollablecontent has been reached (step 1324). One example of an end ofscrollable content may include, but is in no way limited to, reachingthe end of a list of items. If the end has not been reached the method1300 may return to activating the haptic device(s) 228 as described instep 1320.

Upon reaching an end of the list of objects or scrollable content, themethod 1300 may proceed by ceasing the physical feedback and hapticoutput provided by the haptic device 228 allowing the jog dial 504 torotate freely without any additional friction or braking (step 1328).The method 1300 may continue by returning to step 1312 in determiningrotation information and repeating steps 1316 to 1328. In someembodiments, the method 1300 may end at step 1332.

FIG. 14 is a flow diagram of a method 1400 for controlling an amount ofphysical haptic output of a jog dial user interface device 104 based ona number of displayed elements in a user interface in accordance withembodiments of the present disclosure. While a general order for thesteps of the method 1400 is shown in FIG. 14, the method 1400 caninclude more or fewer steps or can arrange the order of the stepsdifferently than those shown in FIG. 14. Generally, the method 1400starts with a start operation 1404 and ends with an end operation 1436.The method 1400 can be executed as a set of computer-executableinstructions executed by a computer system (e.g., computer system 232,processor 204, etc.) and encoded or stored on a computer readable medium(e.g., data storage 208, memory 212, etc.). Hereinafter, the method 1400shall be explained with reference to the methods, systems, components,assemblies, devices, user interfaces, environments, software, etc.described in conjunction with FIGS. 1-13.

The method 1400 begins at step 1404 and proceeds by rendering visualobjects to a display area of a display device (step 1408) anddetermining a type and number of the visual objects displayed (step1412). In some embodiments, steps 1408 and 1412 may be similar, if notidentical, to steps 1208 and 1216, respectively, as described inconjunction with FIG. 12. In one embodiment, step 1412 may includedetermining a size of a list rendered to the display device 112. Forexample, the method 1400 may include determining a number of items in alist that is to be displayed to the display device 112. The number ofitems may include a total count of the items in the list, a total numberof items capable of being displayed in the display device 112, a numberof items currently displayed, and/or the like.

In any event, the method 1400 may determine a virtual detent size basedon the type and/or number of items in the list (step 1416). The virtualdetent size may be correspond to the variable detent widths, VDW1 andVDW2, described in conjunction with FIGS. 11A and 11B. The size of thevariable detent may correspond to an amount of time associated with aduration of haptic output (e.g., vibration). As the size of a listincreases the size of the virtual detent decreases providing a hapticoutput with a shorter duration and as the size of the list decreases thesize of the virtual detent increases providing a haptic output with alonger haptic output duration. As can be appreciated, the duration ofeach variable detent and the haptic output associated therewith may beinversely proportional to the number of items determined.

The method 1400 may proceed by activating the haptic device(s) 228 toproduce a haptic output in accordance with the size determined in step1416 (step 1420).

The size of the variable detents may be dynamically and continuallyadjusted in response to determining a change in the type and/or numberof items associated with a particular list and list presentation (step1424). If no change to the type or number is detected, the method 1400returns to step 1420 and continues to provide the haptic output inaccordance with the size determined in step 1416. If a change in thetype of visual objects displayed is determined, the method 1400 mayproceed to determine whether virtual detents are available for thechange in type (step 1428). If virtual detents are available for achange in the type or if there is no change in type but the number ofvisual objects changes, the method 1400 may return to step 1416 todetermine an adjusted size of the virtual detent. However, if virtualdetents are not available for a change in the type, the method 1400 mayproceed to deactivate the haptic devices and/or providing any virtualdetents. The method 1400 ends at step 1436.

Any of the steps, functions, and operations discussed herein can beperformed continuously and automatically.

The exemplary systems and methods of this disclosure have been describedin relation to user interface methods, devices, and systems. However, toavoid unnecessarily obscuring the present disclosure, the precedingdescription omits a number of known structures and devices. Thisomission is not to be construed as a limitation of the scope of theclaimed disclosure. Specific details are set forth to provide anunderstanding of the present disclosure. It should, however, beappreciated that the present disclosure may be practiced in a variety ofways beyond the specific detail set forth herein.

Furthermore, while the exemplary embodiments illustrated herein show thevarious components of the system collocated, certain components of thesystem can be located remotely, at distant portions of a distributednetwork, such as a LAN and/or the Internet, or within a dedicatedsystem. Thus, it should be appreciated, that the components of thesystem can be combined into one or more devices, such as a server,communication device, or collocated on a particular node of adistributed network, such as an analog and/or digital telecommunicationsnetwork, a packet-switched network, or a circuit-switched network. Itwill be appreciated from the preceding description, and for reasons ofcomputational efficiency, that the components of the system can bearranged at any location within a distributed network of componentswithout affecting the operation of the system.

Furthermore, it should be appreciated that the various links connectingthe elements can be wired or wireless links, or any combination thereof,or any other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.These wired or wireless links can also be secure links and may becapable of communicating encrypted information. Transmission media usedas links, for example, can be any suitable carrier for electricalsignals, including coaxial cables, copper wire, and fiber optics, andmay take the form of acoustic or light waves, such as those generatedduring radio-wave and infra-red data communications.

While the flowcharts have been discussed and illustrated in relation toa particular sequence of events, it should be appreciated that changes,additions, and omissions to this sequence can occur without materiallyaffecting the operation of the disclosed embodiments, configuration, andaspects.

A number of variations and modifications of the disclosure can be used.It would be possible to provide for some features of the disclosurewithout providing others.

In yet another embodiment, the systems and methods of this disclosurecan be implemented in conjunction with a special purpose computer, aprogrammed microprocessor or microcontroller and peripheral integratedcircuit element(s), an ASIC or other integrated circuit, a digitalsignal processor, a hard-wired electronic or logic circuit such asdiscrete element circuit, a programmable logic device or gate array suchas PLD, PLA, FPGA, PAL, special purpose computer, any comparable means,or the like. In general, any device(s) or means capable of implementingthe methodology illustrated herein can be used to implement the variousaspects of this disclosure. Exemplary hardware that can be used for thepresent disclosure includes computers, handheld devices, telephones(e.g., cellular, Internet enabled, digital, analog, hybrids, andothers), and other hardware known in the art. Some of these devicesinclude processors (e.g., a single or multiple microprocessors), memory,nonvolatile storage, input devices, and output devices. Furthermore,alternative software implementations including, but not limited to,distributed processing or component/object distributed processing,parallel processing, or virtual machine processing can also beconstructed to implement the methods described herein.

In yet another embodiment, the disclosed methods may be readilyimplemented in conjunction with software using object or object-orientedsoftware development environments that provide portable source code thatcan be used on a variety of computer or workstation platforms.Alternatively, the disclosed system may be implemented partially orfully in hardware using standard logic circuits or VLSI design. Whethersoftware or hardware is used to implement the systems in accordance withthis disclosure is dependent on the speed and/or efficiency requirementsof the system, the particular function, and the particular software orhardware systems or microprocessor or microcomputer systems beingutilized.

In yet another embodiment, the disclosed methods may be partiallyimplemented in software that can be stored on a storage medium, executedon programmed general-purpose computer with the cooperation of acontroller and memory, a special purpose computer, a microprocessor, orthe like. In these instances, the systems and methods of this disclosurecan be implemented as a program embedded on a personal computer such asan applet, JAVA® or CGI script, as a resource residing on a server orcomputer workstation, as a routine embedded in a dedicated measurementsystem, system component, or the like. The system can also beimplemented by physically incorporating the system and/or method into asoftware and/or hardware system.

Although the present disclosure describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the disclosure is not limited to such standards andprotocols. Other similar standards and protocols not mentioned hereinare in existence and are considered to be included in the presentdisclosure. Moreover, the standards and protocols mentioned herein andother similar standards and protocols not mentioned herein areperiodically superseded by faster or more effective equivalents havingessentially the same functions. Such replacement standards and protocolshaving the same functions are considered equivalents included in thepresent disclosure

The present disclosure, in various embodiments, configurations, andaspects, includes components, methods, processes, systems and/orapparatus substantially as depicted and described herein, includingvarious embodiments, subcombinations, and subsets thereof. Those ofskill in the art will understand how to make and use the systems andmethods disclosed herein after understanding the present disclosure. Thepresent disclosure, in various embodiments, configurations, and aspects,includes providing devices and processes in the absence of items notdepicted and/or described herein or in various embodiments,configurations, or aspects hereof, including in the absence of suchitems as may have been used in previous devices or processes, e.g., forimproving performance, achieving ease, and/or reducing cost ofimplementation.

The foregoing discussion of the disclosure has been presented forpurposes of illustration and description. The foregoing is not intendedto limit the disclosure to the form or forms disclosed herein. In theforegoing Detailed Description for example, various features of thedisclosure are grouped together in one or more embodiments,configurations, or aspects for the purpose of streamlining thedisclosure. The features of the embodiments, configurations, or aspectsof the disclosure may be combined in alternate embodiments,configurations, or aspects other than those discussed above. This methodof disclosure is not to be interpreted as reflecting an intention thatthe claimed disclosure requires more features than are expressly recitedin each claim. Rather, as the following claims reflect, inventiveaspects lie in less than all features of a single foregoing disclosedembodiment, configuration, or aspect. Thus, the following claims arehereby incorporated into this Detailed Description, with each claimstanding on its own as a separate preferred embodiment of thedisclosure.

Moreover, though the description of the disclosure has includeddescription of one or more embodiments, configurations, or aspects andcertain variations and modifications, other variations, combinations,and modifications are within the scope of the disclosure, e.g., as maybe within the skill and knowledge of those in the art, afterunderstanding the present disclosure. It is intended to obtain rights,which include alternative embodiments, configurations, or aspects to theextent permitted, including alternate, interchangeable and/or equivalentstructures, functions, ranges, or steps to those claimed, whether or notsuch alternate, interchangeable and/or equivalent structures, functions,ranges, or steps are disclosed herein, and without intending to publiclydedicate any patentable subject matter.

Embodiments include a user interface device, comprising: a longitudinalsupport shaft having a lumen extending a length along an axis of thelongitudinal support shaft; a rotary dial having a first end and anopposite second end, the rotary dial including an internal cavity thatopens to the first end, the rotary dial rotationally coupled to thelongitudinal support shaft; and a touchpad disposed adjacent to thefirst end of the rotary dial and at least partially surrounded by aperiphery of the rotary dial, the touchpad rotationally fixed to thelongitudinal support shaft; wherein the rotary dial rotates about thelongitudinal support shaft while the touchpad remains rotationally fixedto the longitudinal support shaft.

Aspects of the above device include wherein the lumen runs from a firstend of the longitudinal support shaft arranged inside the internalcavity of the rotary dial to an opposite second end of the longitudinalsupport shaft arranged outside of the rotary dial. Aspects of the abovedevice further comprising: an electrical interconnection operativelyconnected to the touchpad and disposed at least partially within theinternal cavity of the rotary dial, wherein an electrical lead of theelectrical interconnection passes through the lumen from the first endof the longitudinal support shaft to the second end of the longitudinalsupport shaft. Aspects of the above device further comprising: a supportmember interconnected to a periphery of the longitudinal support shaftat the first end of the longitudinal support shaft and radiallyextending outwardly from a center of the rotary dial to a point insidethe internal cavity and adjacent to the periphery of the rotary dial,wherein the touchpad is attached to the support member. Aspects of theabove device further comprising: an encoder wheel affixed to the rotarydial, the encoder wheel including a plurality of position identificationfeatures disposed in a pattern around a periphery of the encoder wheel;and an encoder sensor operatively coupled to read the plurality ofposition identification features of the encoder wheel, wherein theencoder sensor is rotationally fixed relative to the rotary dial, andwherein the encoder sensor is configured to detect the plurality ofposition identification features as the rotary dial and encoder wheelrotate relative to the encoder sensor. Aspects of the above deviceinclude wherein the encoder wheel and the encoder sensor are disposed inthe internal cavity of the rotary dial, and wherein an electrical leadfor the encoder sensor passes through the lumen of the longitudinalsupport shaft. Aspects of the above device include wherein thelongitudinal support shaft is axially supported by a linear bearingsurrounding a portion of the longitudinal support shaft at a pointbetween the first end of the longitudinal support shaft and the secondend of the longitudinal support shaft. Aspects of the above deviceinclude wherein the second end of the rotary dial includes two radialball bearing assemblies axially separated from one another by aseparation distance, and wherein an inner race of each of the two radialball bearing assemblies surrounds a periphery of the longitudinalsupport shaft. Aspects of the above device further comprising: a springdisposed between the linear bearing and the second end of the rotarydial, wherein the rotary dial is displaceable along the axis and againsta compressive force of the spring. Aspects of the above device includewherein the touchpad and the longitudinal support shaft are displaceablealong the axis in conjunction with a displacement of the rotary dial.

Embodiments include 1 user interface system, comprising: a processor; adisplay device interconnected to the processor; and a user interfacedevice interconnected to the processor, comprising: a longitudinalsupport shaft having a lumen extending a length along an axis of thelongitudinal support shaft; a rotary dial having a first end and anopposite second end, the rotary dial including an internal cavity thatopens to the first end, the rotary dial rotationally coupled to thelongitudinal support shaft; and a touchpad disposed adjacent to thefirst end of the rotary dial and at least partially surrounded by aperiphery of the rotary dial, the touchpad rotationally fixed to thelongitudinal support shaft; wherein the rotary dial rotates about thelongitudinal support shaft while the touchpad remains rotationally fixedto the longitudinal support shaft; wherein the processor is configuredto receive user input provided via a rotation of the rotary dial, atouch or gesture via the touchpad, and/or an axial displacement of therotary dial or the touchpad, and wherein the processor controls adisplay of the display device based on the user input received.

Aspects of the above system include wherein an electricalinterconnection between the touchpad and the processor is disposed atleast partially within the internal cavity of the rotary dial, andwherein an electrical lead of the electrical interconnection passesthrough the lumen from a first end of the longitudinal support shaft toa second end of the longitudinal support shaft. Aspects of the abovesystem include wherein the user interface device further comprises asupport member interconnected to a periphery of the longitudinal supportshaft at the first end of the longitudinal support shaft and radiallyextending outwardly from a center of the rotary dial to a point insidethe internal cavity and adjacent to the periphery of the rotary dial,wherein the touchpad is attached to the support member. Aspects of theabove system include wherein the user interface device furthercomprises: an encoder wheel affixed to the rotary dial, the encoderwheel including a plurality of position identification features disposedin a pattern around a periphery of the encoder wheel; and an encodersensor operatively coupled to read the plurality of positionidentification features of the encoder wheel, wherein the encoder sensoris rotationally fixed relative to the rotary dial, and wherein theencoder sensor is configured to detect the plurality of positionidentification features as the rotary dial and encoder wheel rotaterelative to the encoder sensor. Aspects of the above system includewherein the encoder wheel and the encoder sensor are disposed in theinternal cavity of the rotary dial, and wherein an electrical lead forthe encoder sensor passes through the lumen of the longitudinal supportshaft. Aspects of the above system include wherein the longitudinalsupport shaft is axially supported by a linear bearing surrounding aportion of the longitudinal support shaft at a point between the firstend of the longitudinal support shaft and the second end of thelongitudinal support shaft. Aspects of the above system include whereinthe second end of the rotary dial includes two radial ball bearingassemblies axially separated from one another by a separation distance,and wherein an inner race of each of the two radial ball bearingassemblies surrounds a periphery of the longitudinal support shaft.Aspects of the above system include wherein the user interface devicefurther comprises a spring disposed between the linear bearing and thesecond end of the rotary dial, wherein the rotary dial is displaceablealong the axis and against a compressive force of the spring. Aspects ofthe above system include wherein the touchpad and the longitudinalsupport shaft are displaceable along the axis in conjunction with adisplacement of the rotary dial.

Embodiments include a jog dial user interface device, comprising: alongitudinal hollow shaft having a first end and a second end defining adial axis; a multi-touch input touchpad rotationally fixed to the firstend of the longitudinal hollow shaft; a jog dial including asubstantially ring-shaped body that at least partially surrounds aperiphery of the multi-touch input touchpad, the jog dial rotatableabout the dial axis via two axially offset radial bearings connectedbetween the jog dial and the longitudinal hollow shaft, wherein aportion of the multi-touch input touchpad is disposed inside thesubstantially ring-shaped body; an encoder wheel affixed to the jogdial, the encoder wheel including a plurality of position identificationfeatures disposed in a pattern around a periphery of the encoder wheel;and an encoder sensor operatively coupled to read the plurality ofposition identification features of the encoder wheel, wherein theencoder sensor is rotationally fixed relative to the jog dial, andwherein the encoder sensor is configured to detect the plurality ofposition identification features as the jog dial and encoder wheelrotate relative to the rotationally fixed encoder sensor.

Embodiments include a method of altering a display output based on adetected angular momentum of a free-spinning rotary dial input device,comprising: rendering, via a processor, visible objects in a firstposition in a display of a display device; determining, via theprocessor, a rotational input at the rotary dial input device over time;determining, via the processor, that the rotational input includesmomentum movement characteristics indicating that a dial of the rotarydial input device is rotating without user contact over time; andmoving, via the processor, a position of the visible objects rendered inthe display dynamically from the first position to subsequent positionsin the display at a changing rate of speed that mimics the rotationalinput and determined momentum movement characteristics of the dial overtime.

Aspects of the above method include wherein prior to moving the positionof the visible objects rendered in the display, the method furthercomprises: determining, via the processor, a type of the visible objectsrendered in the display, wherein the subsequent positions of the visibleobjects rendered in the display are based on the type of the visibleobjects determined. Aspects of the above method include wherein the typeof the visible objects is a list of objects, and wherein moving theposition of the visible objects rendered in the display includesscrolling the list of objects at the changing rate of speed as thedetermined movement characteristics change over time. Aspects of theabove method include wherein the determined movement characteristicsinclude an angular velocity profile of the dial rotating over time.Aspects of the above method include wherein a shape of the angularvelocity profile of the dial over time indicates that the dial isfree-spinning and rotating without user contact. Aspects of the abovemethod include wherein the rotary dial user input device includes ahaptic device configured to provide physical feedback outputcorresponding to an indication of moving from one visible object toanother visible object in the display. Aspects of the above methodinclude wherein the physical feedback output is a vibration of therotary dial user input device having a defined time of vibration.Aspects of the above method include wherein upon reaching an end of thelist of objects, the method comprises ceasing the physical feedbackoutput provided by the haptic device allowing the dial to rotate freelywithout any additional friction or braking. Aspects of the above methodinclude wherein the defined time of vibration associated with thephysical feedback output is associated with a size and/or a number ofthe visible objects in the list of objects. Aspects of the above methodinclude wherein, when the list of objects includes a greater number ofvisible objects in the list of objects, the physical feedback outputincludes a shorter defined time of vibration than the defined time ofvibration when the list of objects includes fewer visible objects in thelist of objects.

Embodiments include a rotary dial input device, comprising: a dial witha specific mass that rotates about an axis; a processor; and acomputer-readable storage device having instructions stored thereonthat, when executed by the processor, cause the processor to: rendervisible objects in a first position in a display of a display device;determine a rotational input at the rotary dial input device over time;determine that the rotational input includes momentum movementcharacteristics indicating that a dial of the rotary dial input deviceis rotating without user contact over time; and move a position of thevisible objects rendered in the display dynamically from the firstposition to subsequent positions in the display at a changing rate ofspeed that mimics the rotational input and determined momentum movementcharacteristics of the dial over time.

Aspects of the above device include wherein prior to moving the positionof the visible objects rendered in the display, the instructions furthercause the processor to: determine a type of the visible objects renderedin the display, wherein the subsequent positions of the visible objectsrendered in the display are based on the type of the visible objectsdetermined. Aspects of the above device include wherein the type of thevisible objects is a list of objects, and wherein moving the position ofthe visible objects rendered in the display includes scrolling the listof objects at the changing rate of speed as the determined movementcharacteristics change over time. Aspects of the above device includewherein the determined movement characteristics include an angularvelocity profile of the dial rotating over time. Aspects of the abovedevice include wherein a shape of the angular velocity profile of thedial over time indicates that the dial is free-spinning and rotatingwithout user contact. Aspects of the above device include wherein therotary dial user input device includes a haptic device and wherein theinstructions further cause the processor to: activate the haptic deviceto provide physical feedback output corresponding to an indication ofmoving from one visible object to another visible object in the display.Aspects of the above device include wherein the physical feedback outputis a vibration of the dial of the rotary dial user input device, andwherein the physical feedback output includes a defined time ofvibration. Aspects of the above device include wherein upon reaching anend of the list of objects, the instructions further cause the processorto deactivate the haptic device and cease the physical feedback outputallowing the dial to rotate freely without any additional friction orbraking. Aspects of the above device include wherein the defined time ofvibration associated with the physical feedback output is associatedwith a size and/or a number of the visible objects in the list ofobjects, and wherein, when the list of objects includes a greater numberof visible objects in the list of objects, the physical feedback outputincludes a shorter defined time of vibration than the defined time ofvibration when the list of objects includes fewer visible objects in thelist of objects.

Embodiments include a user interface system, comprising: a processor; adisplay device interconnected to the processor; a rotary user interfacedevice interconnected to the processor and having a dial with a specificmass that rotates about an axis; and a computer-readable storage devicehaving instructions stored thereon that, when executed by the processor,cause the processor to: render visible objects in a first position in adisplay area of the display device; determine a rotational input at thedial of the rotary user interface device over time; determine that therotational input includes momentum movement characteristics indicatingthat the dial of the rotary user interface device is rotating withoutuser contact over time; and move a position of the visible objectsrendered in the display dynamically from the first position tosubsequent positions in the display at a changing rate of speed thatmimics the rotational input and determined momentum movementcharacteristics of the dial over time.

Any one or more of the aspects/embodiments as substantially disclosedherein.

Any one or more of the aspects/embodiments as substantially disclosedherein optionally in combination with any one or more otheraspects/embodiments as substantially disclosed herein.

One or more means adapted to perform any one or more of the aboveaspects/embodiments as substantially disclosed herein.

The phrases “at least one,” “one or more,” “or,” and “and/or” areopen-ended expressions that are both conjunctive and disjunctive inoperation. For example, each of the expressions “at least one of A, Band C,” “at least one of A, B, or C,” “one or more of A, B, and C,” “oneor more of A, B, or C,” “A, B, and/or C,” and “A, B, or C” means Aalone, B alone, C alone, A and B together, A and C together, B and Ctogether, or A, B and C together.

The term “a” or “an” entity refers to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more,” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising,” “including,” and “having” can be used interchangeably.

The term “automatic” and variations thereof, as used herein, refers toany process or operation, which is typically continuous orsemi-continuous, done without material human input when the process oroperation is performed. However, a process or operation can beautomatic, even though performance of the process or operation usesmaterial or immaterial human input, if the input is received beforeperformance of the process or operation. Human input is deemed to bematerial if such input influences how the process or operation will beperformed. Human input that consents to the performance of the processor operation is not deemed to be “material.”

Aspects of the present disclosure may take the form of an embodimentthat is entirely hardware, an embodiment that is entirely software(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module,” or “system.”Any combination of one or more computer-readable medium(s) may beutilized. The computer-readable medium may be a computer-readable signalmedium or a computer-readable storage medium.

A computer-readable storage medium may be, for example, but not limitedto, an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thecomputer-readable storage medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer-readable storage medium may be any tangible medium that cancontain or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device. Program codeembodied on a computer-readable medium may be transmitted using anyappropriate medium, including, but not limited to, wireless, wireline,optical fiber cable, RF, etc., or any suitable combination of theforegoing.

The terms “determine,” “calculate,” “compute,” and variations thereof,as used herein, are used interchangeably and include any type ofmethodology, process, mathematical operation or technique.

1. A user interface device; comprising: a longitudinal support shafthaving a lumen extending a length along an axis of the longitudinalsupport shaft; a rotary dial having a first end and an opposite secondend; the rotary dial including an internal cavity that opens to thefirst end, the rotary dial rotationally coupled to the longitudinalsupport shaft; a touchpad disposed adjacent to the first end of therotary dial and at least partially surrounded by a periphery of therotary dial, the touchpad rotationally fixed to the longitudinal supportshaft; an encoder wheel affixed to the rotary dial, the encoder wheelincluding a plurality of position identification features disposed in apattern around a periphery of the encoder wheel, and an encoder sensoroperatively coupled to read the plurality of position identificationfeatures of the encoder wheel, wherein the encoder sensor isrotationally fixed relative to the rotary dial, and wherein the encodersensor is configured to detect the plurality of position identificationfeatures as the rotary dial and encoder wheel rotate relative to theencoder sensor, wherein the rotary dial rotates about the longitudinalsupport shaft while the touchpad remains rotationally fixed to thelongitudinal support shaft, wherein the encoder wheel and the encodersensor are disposed in the internal cavity of the rotary dial, andwherein an electrical lead for the encoder sensor passes through thelumen of the longitudinal support shaft.
 2. The user interface device ofclaim 1, wherein the lumen runs from a first opening of the longitudinalsupport shaft arranged inside the internal cavity of the rotary dialadjacent to the first end of the rotary dial to an opposite secondopening of the longitudinal support shaft arranged outside of the rotarydial.
 3. The user interface device of claim 2, further comprising: anelectrical interconnection operatively connected to the touchpad anddisposed at least partially within the internal cavity of the rotarydial, wherein an electrical lead of the electrical interconnectionpasses through the lumen from the first opening of the longitudinalsupport shaft to the second opening of the longitudinal support shaft.4. The user interface device of claim 3, further comprising: a supportmember interconnected to a periphery of the longitudinal support shaftadjacent to the first opening of the longitudinal support shaft andradially extending outwardly from a center of the rotary dial to a pointinside the internal cavity and adjacent to the periphery of the rotarydial, wherein the touchpad is attached to the support member. 5.(canceled)
 6. (canceled)
 7. The user interface device of claim 5,wherein the longitudinal support shaft is axially supported by a linearbearing surrounding a portion of the longitudinal support shaft at apoint between the first opening of the longitudinal support shaft andthe second opening of the longitudinal support shaft.
 8. The userinterface device of claim 7, wherein the second end of the rotary dialincludes two radial ball bearing assemblies axially separated from oneanother by a separation distance, and wherein an inner race of each ofthe two radial ball bearing assemblies surrounds a periphery of thelongitudinal support shaft.
 9. The user interface device of claim 8,further comprising: a spring disposed between the linear bearing and thesecond end of the rotary dial, wherein the rotary dial is displaceablealong the axis and against a compressive force of the spring.
 10. Theuser interface device of claim 8, wherein the touchpad and thelongitudinal support shaft are displaceable along the axis inconjunction with a displacement of the rotary dial.
 11. A user interfacesystem, comprising: a processor; a display device interconnected to theprocessor; and a user interface device interconnected to the processor,comprising: a longitudinal support shaft having a lumen extending alength along an axis of the longitudinal support shaft; a rotary dialhaving a first end and an opposite second end, the rotary dial includingan internal cavity that opens to the first end, the rotary dialrotationally coupled to the longitudinal support shaft; a touchpaddisposed adjacent to the first end of the rotary dial and at leastpartially surrounded by a periphery of the rotary dial, the touchpadrotationally fixed to the longitudinal support shaft; an encoder wheelaffixed to the rotary dial, the encoder wheel including a plurality ofposition identification features disposed in a pattern around aperiphery of the encoder wheel; and an encoder sensor operativelycoupled to read the plurality of position identification features of theencoder wheel, wherein the encoder sensor is rotationally fixed relativeto the rotary dial, and wherein the encoder sensor is configured todetect the plurality of position identification features as the rotarydial and encoder wheel rotate relative to the encoder sensor; whereinthe rotary dial rotates about the longitudinal support shaft while thetouchpad remains rotationally fixed to the longitudinal support shaft,wherein the encoder wheel and the encoder sensor are disposed in theinternal cavity of the rotary dial, and wherein an electrical lead forthe encoder sensor passes through the lumen of the longitudinal supportshaft; wherein the processor is configured to receive user inputprovided via a rotation of the rotary dial, a touch or gesture via thetouchpad, and/or an axial displacement of the rotary dial or thetouchpad, and wherein the processor controls a display of the displaydevice based on the user input received.
 12. The user interface systemof claim 11, wherein an electrical interconnection between the touchpadand the processor is disposed at least partially within the internalcavity of the rotary dial, and wherein an electrical lead of theelectrical interconnection passes through the lumen from a first openingof the longitudinal support shaft to a second opening of thelongitudinal support shaft.
 13. The user interface system of claim 12,wherein the user interface device further comprises a support memberinterconnected to a periphery of the longitudinal support shaft adjacentto the first opening of the longitudinal support shaft and radiallyextending outwardly from a center of the rotary dial to a point insidethe internal cavity and adjacent to the periphery of the rotary dial,wherein the touchpad is attached to the support member.
 14. (canceled)15. (canceled)
 16. The user interface system of claim 14, wherein thelongitudinal support shaft is axially supported by a linear bearingsurrounding a portion of the longitudinal support shaft, at a pointbetween the first opening of the longitudinal support shaft and thesecond opening of the longitudinal support shaft.
 17. The user interfacesystem of claim 16, wherein the second end of the rotary dial includestwo radial ball bearing assemblies axially separated from one another bya separation distance, and wherein an inner race of each of the tworadial ball bearing assemblies surrounds a periphery of the longitudinalsupport shaft.
 18. The user interface system of claim 17, wherein theuser interface device further comprises a spring disposed between thelinear bearing and the second end of the rotary dial, wherein the rotarydial is displaceable along the axis and against a compressive force ofthe spring.
 19. The user interface system of claim 18, wherein thetouchpad and the longitudinal support shaft are displaceable along theaxis in conjunction with a displacement of the rotary dial.
 20. A jogdial user interface device, comprising: a longitudinal hollow shafthaving a first end and a second end defining a dial axis; a multi-touchinput touchpad rotationally fixed to the first end of the longitudinalhollow shaft; a jog dial including a ring-shaped body that at leastpartially surrounds a periphery of the multi-touch input touchpad, thering-shaped body having an upper side and a lower side and an internalcavity disposed between the upper side and the lower side, the jog dialrotatable about the dial axis via two axially offset radial bearingsconnected between the jog dial and the longitudinal hollow shaft,wherein a portion of the multi-touch input touchpad is disposed inside aportion of the internal cavity of the ring-shaped body; an encoder wheelaffixed to the jog dial, the encoder wheel including a plurality ofposition identification features disposed in a pattern around aperiphery of the encoder wheel; and an encoder sensor operativelycoupled to read the plurality of position identification features of theencoder wheel, wherein the encoder sensor is rotationally fixed relativeto the jog dial, wherein the encoder sensor is configured to detect theplurality of position identification features as the jog dial andencoder wheel rotate relative to the rotationally fixed encoder sensor,wherein the encoder wheel and the encoder sensor are disposed in theinternal cavity of the ring-shaped body, and wherein an electrical leadfor the encoder sensor passes through the lumen of the longitudinalhollow shaft.
 21. The jog dial user interface device of claim 20,further comprising: an electrical interconnection operatively connectedto the multi-touch input touchpad and disposed at least partially withinthe internal cavity of the jog dial, wherein an electrical lead of theelectrical interconnection passes through the longitudinal hollow shaftfrom the first end of the longitudinal hollow shaft to the second end ofthe longitudinal hollow shaft.
 22. The jog dial user interface device ofclaim 20, further comprising: a support member interconnected to aperiphery of the longitudinal hollow shaft adjacent to the first end ofthe longitudinal hollow shaft and radially extending outwardly from acenter of the jog dial to a point inside the internal cavity andadjacent to an internal peripheral surface of the jog dial, wherein themulti-touch input touchpad is attached to the support member.
 23. Thejog dial user interface device of claim 20, wherein the longitudinalhollow shaft is axially supported by a linear bearing surrounding aportion of the longitudinal hollow shaft at a point between the firstend of the longitudinal hollow shaft and the second end of thelongitudinal hollow shaft.
 24. The jog dial user interface device ofclaim 23, further comprising: a spring disposed between the linearbearing and the lower side of the jog dial, wherein the jog dial isdisplaceable along the dial axis and against a compressive force of thespring.